From 3604b85959a12df07808c18e24509b094838dd6e Mon Sep 17 00:00:00 2001 From: Tim Deegan Date: Tue, 14 Nov 2006 11:47:26 +0000 Subject: [PATCH] [XEN] Don't use shadow linear maps in sh_set_toplevel_shadow() because they will not be there. Signed-off-by: Tim Deegan --- xen/arch/x86/mm/shadow/multi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c index e2e0bb7a3b..7da1b7a6ac 100644 --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -3266,8 +3266,9 @@ sh_set_toplevel_shadow(struct vcpu *v, } else { - /* This guest MFN is a pagetable. Must revoke write access. */ - if ( shadow_remove_write_access(v, gmfn, GUEST_PAGING_LEVELS, 0) != 0 ) + /* This guest MFN is a pagetable. Must revoke write access + * (and can't use heuristics because we have no linear map here). */ + if ( shadow_remove_write_access(v, gmfn, 0, 0) != 0 ) flush_tlb_mask(v->domain->domain_dirty_cpumask); /* Make sure there's enough free shadow memory. */ shadow_prealloc(d, SHADOW_MAX_ORDER); -- 2.30.2